﻿<template>
	<!-- 页面主体 -->
	<view>
		<u-toast ref="uToast" /><u-no-network></u-no-network>
		<u-navbar :title="title" safeAreaInsetTop fixed placeholder>
			<view class="coreshop-navbar-left-slot" slot="left">
				<u-icon name="arrow-left" size="19" @click="goNavigateBack"></u-icon>
				<u-line direction="column" :hairline="false" length="16" margin="0 8px"></u-line>
				<u-icon name="home" size="22" @click="goHome"></u-icon>
			</view>
			<view slot="right">
			</view>
		</u-navbar>

		<view class="coreshop-bg-white coreshop-padding-10 coreshop-margin-10">
			<u--image width="100%" height="150px" v-if="info.coverImage" :src="info.coverImage"></u--image>
			<view class="article-title">
				{{ info.title }}
			</view>
			<view class="article-time" v-if="info.createTime">{{ info.createTime }}</view>
			<u-line dashed></u-line>
			<view class="u-content">
				<u-parse :content="contentBody" :selectable="true"></u-parse>
			</view>
		</view>
	</view>
</template>

<script>
	export default {

		data() {
			return {
				idType: 1, //1文章 2公告 3微信图文消息
				id: 0,
				info: {},
				contentBody: '',
				shareUrl: this.$globalConstVars.shareUrl,
				title: ''
			};
		},
		onLoad(e) {
			this.idType = e.idType;
			this.id = e.id;
			console.log(e);
			if (!this.idType && !this.id) {
				this.$refs.uToast.show({
					message: '获取失败',
					type: 'error',
					isTab: true,
					url: '/pages/index/default/default'
				});
			} else if (this.idType == 1) {
				this.title = "文章详情";
				this.articleDetail();
			} else if (this.idType == 2) {
				this.title = "公告详情";
				this.noticeDetail();
			} else if (this.idType == 3) {
				this.title = "图文消息";
				this.messageDetail();
			}
		},
		computed: {
			shopName() {
				return this.$store.state.config.shopName;
			},
			shopLogo() {
				return this.$store.state.config.shopLogo;
			}
		},
		methods: {
			articleDetail() {
				let data = {
					id: this.id
				};
				this.$u.api.articleInfo(data).then(res => {
					if (res.status) {
						this.info = res.data;
						this.contentBody = res.data.contentBody;
						this.title = this.info.title;
					} else {
						this.$refs.uToast.show({
							message: res.msg,
							type: 'error',
							complete: function() {
								uni.navigateBack({
									delta: 1
								});
							}
						})
					}
				});
			},
			noticeDetail() {
				let data = {
					id: this.id
				};
				this.$u.api.noticeInfo(data).then(res => {
					if (res.status) {
						this.info = res.data;
						this.contentBody = res.data.contentBody;
						this.title = this.info.title;
					} else {
						this.$u.toast(res.msg);
					}
				});
			},
			//微信图文消息
			messageDetail() {
				let data = {
					id: this.id
				};
				this.$u.api.messageDetail(data).then(res => {
					if (res.status) {
						this.info = res.data;
						this.contentBody = res.data.contentBody;
						this.title = this.info.title;
					} else {
						this.$u.toast(res.msg);
					}
				});
			},
			//获取分享URL
			getShareUrl() {
				let data = {
					client: this.$globalConstVars.shareClient.wxMiNiProgram,
					url: this.$globalConstVars.shareUrl,
					type: this.$globalConstVars.shareModel.url,
					page: this.$globalConstVars.shareType.article,
					params: {
						articleId: this.id,
						articleType: this.idType
					}
				};
				let userToken = this.$db.get('userToken');
				if (userToken && userToken != '') {
					data.token = userToken
				}
				this.$u.api.share(data).then(res => {
					this.shareUrl = res.data
				});
			}
		},
		watch: {
			id: {
				handler() {
					this.getShareUrl();
				},
				deep: true
			}
		},
		//分享
		onShareAppMessage(res) {
			return {
				title: this.info.title,
				path: this.shareUrl
			}
		},
		onShareTimeline(res) {
			return {
				title: this.info.title,
				path: this.shareUrl
			}
		},
	};
</script>

<style lang="scss" scoped>
	@import "details.scss";
</style>